In general, the JAVA program language is being widely used in developing various applications such as a in the network related field, on the basis of a neutral performance and an excellent stability of a JAVA platform since it was issued in 1995. The JAVA platform has been recently mounted in a mobile telephone terminal, and thus used in a game and an electronic commerce service which use a wireless Internet.
There is a JAVA programming language which is used for a programming work such as FORTRAN, COBOL, PASCAL or C, a JAVA platform which points out a JAVA API (Application Programming Interface) necessary for a programming work by use of a JAVA program language, and a JAVA virtual machine (JVM) for executing a JAVA program. The JAVA program language is an object oriented computer program language that is designed to run with any operating system using an interpreter. The JAVA platform is a JAVA program execution system for a data processing system, which consists of a JAVA virtual machine (byte code interpreter) a standard JAVA class files and native libraries.
As illustrated in FIG. 1, a structure of the JAVA platform can be configured to have a system operating system (OS) 1 for taking in charge of controlling a variety of hardware in a JAVA platform mounted system, a JAVA virtual machine (JVM) 2 and a JAVA API 2a which operate in the system OS 1, and a JAVA program 3 which operates on the JVM 2 and the JAVA API 2a. 
A general JAVA program source file is configured to have a text file of an extension of *.java. A JAVA compiler reads a source code from a source file, compiles each function in the source into a virtual machine language called a bytecode, and then produces an execution module having an extension of *.class by each class included in the source.
The execution module is generally called a class file. For reference, a CPU machine language for a data processing system called an information processing terminal in which a program is actually executed is called a native code. Also, an execution module which can be executed in a system OS mounted in the data processing system is called a native component. In the case of a general IBM personal computer (PC) which uses a WINDOWS OS (IBM is a trademark of IBM Corporation and WINDOWS is a trademark of Microsoft Corporation), files having extensions of *.exe, *.dll and *.ocx correspond to the native components. The native components are binary files, which means all files except text file types, for example, *.txt.”
When a class file is produced, information of a name and a function factor of each function included in the class file, information of a name and a type of each variable, and information of a function and a variable of an external class file referenced in each function, are all stored. accordingly, even in the case that a JAVA class file is downloaded via a network, a class file can be easily used without having particular external information.
As illustrated in FIG. 2, a JAVA virtual machine 5 corresponding to the JVM 2 of FIG. 2 includes a class loader 5a, a bytecode interpreter 5b, and a native library 5c. 
The class loader 5a reads a JAVA class file from a network or file system, disposes the read JAVA class file on a memory appropriately according to internal information included in the class file, and then plays a role of initializing an internal state.
Whenever each function is called, the bytecode interpreter 5b is a system which analyzes a JAVA bytecode included in the function and executes a native code having the same effect as the JAVA bytecode.
A bytecode is not made in order to be used for a particular CPU as in a general machine language, but is designed to be executed in a virtual CPU made of software. The bytecode interpreter 5b plays the role of the virtual CPU. Therefore, the JAVA program is an interpreter-based program.
The native library 5c indicates a system library in which standard functions related to a control of hardware necessary for executing a JAVA program are implemented based on a system OS and a hardware environment of a data processing system such as an information processing terminal in which a JAVA platform virtual machine is mounted. The native library 5c includes a network library 5d for administrating a network and a file system, screen control and input control libraries 5e and 5f for controlling a screen and an input for matching a standardized function, and a memory administration library 5g for administrating a memory according to execution of programs.
The hardware control functions included in the native library include only minimized essential standard functions so as to be easily implemented under a variety of system OS environments. The bytecode interpreter controls hardware through only the native library. Accordingly, a JAVA platform virtual machine can be easily implanted even in a variety of system OS and hardware environments. As a result, it is possible to execute a JAVA program in the same manner even in a variety of data processing systems which use respectively different CPUs and OSs.
However, in the case that a JAVA program is executed in a virtual machine having the above-described configuration, a program processing speed becomes slow 20 to 100 times through an interpreting process of a bytecode interpreter, in comparison with the case that a native code programmed in a language such as C or Pascal is executed in order to obtain the same effect.
In order to solve the above speed retardation problem, a computer higher than a general PC class chiefly uses a JIT (Just In Time Compile) technology. A JIT compile indicates a system which compiles a JAVA bytecode into a machine language, that is, a native code for matching a CPU in the system, immediately before or after any JAVA function is executed, stores the compiled native code for each function, and then directly executes the compiled native code without passing through an interpreting process whenever a corresponding function is called, to thereby greatly accelerate a processing speed. A program taking charge of the above functions is called a JIT compiler.
Thus, a processing speed of the JIT compile technology becomes slow 3 to 10 times in comparison with the case that a native code programmed in a language such as C or Pascal is executed in order to obtain the same effect as that of the JAVA program. As a result, the processing speed of the JIT compile technology become fast 5 to 10 times as that processed through an existing interpreting process.
However, the bytecode interpreter can be implemented relatively easily by using a high level language such as C or Pascal, but the JIT compiler should directly compile such a high level language into a machine language for matching each CPU. As a result, it is very difficult to implement the JIT compiler. A capacity of memory necessary for storing and executing the program of the JIT compiler becomes large. Thus, in the case of devices which use a variety of CPUs as in a mobile telephone terminal, a PDA, and a set-top-box, it is very difficult to use the JIT compiler. In particular, since such a portable information processing terminal uses a CPU of a lower performance than in a general PC, lowering of a processing speed of a JAVA program causes a larger problem.
Meanwhile, although it is not widely used, an AOT (Ahead Of Time) compile technology exists as an alternative method for accelerating a processing speed of a JAVA program. The AOT compile indicates a system which compiles all JAVA class files used in a system into native components which can be executed in a CPU and a system OS in an information processing terminal, in advance, and loads the compiled result in the system.
Programs which read JAVA source files or class files, and then produces native components for matching a particular CPU or compile the read files into other programming languages which can produce native codes, that is, C, C++, and Pascal, are usually called JAVA AOT compilers.
Since the JAVA AOT compiler is executed in a separated system, a JAVA platform virtual machine in an information processing terminal which actually executes a JAVA program does not need a particular bytecode interpreter or JIT compiler. Thus, the JAVA AOT compiler is a technology for accelerating a JAVA program processing speed which can be used even in a compact device having a small capacity of memory. Also, the JAVA AOT compiler has a nearly same processing speed as a C or C++ program which executes the same function.
However, since the above-described AOT compiler system cannot execute JAVA programs other than a JAVA program incorporated at the time of fabricating an information processing terminal, a mobile type information processing terminal which should execute various kinds of JAVA programs under certain circumstances cannot use the AOT compiler.